Non-volatile memory devices are used in electronic products such as digital cameras, cellular phones, video game consoles, and various portable devices. Generally, hard disk drives, flash memories, and One-Time Programmable (OTP) memories are classified as non-volatile memory devices, since stored data is retained when power is removed from the device. Flash memories and OTP memories are widely used types of non-volatile memory. A flash memory or OTP memory stores binary data such as “0” or “1” by controlling a threshold voltage of its memory cells. One difference between flash memory and OTP memory is that data stored in the OTP memory is not updateable, while data stored in the flash memory is. That is, once data is written to a memory cell of an OTP memory, it may be difficult or even impossible to change.
FIG. 1 shows a functional block diagram of a conventional OTP memory 100. For the convenience of description, it is assumed that the OTP memory 100 includes an OTP memory cell 101, a protection cell 102, and a controller 103. The protection cell 102 stores data indicating whether or not the OTP memory 101 has been programmed. For example, data “0” stored in the protection cell 102 indicates that the OTP memory cell 101 has not been programmed, and data “1” stored in the protection cell 102 indicates that the OTP memory cell 101 has been programmed. The controller 103 is electrically connected to the OTP memory cell 101 and the protection cell 102, thus controlling the programming operation of the OTP memory cell 101.
If the OTP memory cell 101 has not been programmed, a buffer of the controller 103 is enabled by the data “0” written in the protection cell 102, so that the OTP memory cell 101 is programmed according to input data X, and output data Y is output. Meanwhile, if the OTP memory cell 101 has been programmed, the buffer of the controller 103 is disabled by the data “1” written in the protection cell 102, so that the input data X is not applied to the OTP memory cell 101 and data programmed in the OTP memory cell 101 is output as output data Y.
As such, since the OTP memory cell 101 may not be updateable once it is programmed, if a value programmed in the OTP memory cell 101 is not a desired value, the OTP memory 100 may be discarded. Further, when the OTP memory 100 is part of a complete product, such as an LCD module, if unsuitable programmed data is stored in the OTP memory 100, then the entire LCD module may need to be discarded, as well as the driver IC in which the OTP memory 100 is installed.